// 导入包  flyio
// 得到一个 flyio 实例  axios.create()
// 配置基地址 超时时间
// 配置请求拦截器 响应拦截器
// 导出这个实例

import FlyIO from 'flyio/dist/npm/wx'

// 创建新的 FlyIO 实例
const http = new FlyIO()

// 设置超时(服务器性能有点差)
http.config.timeout = 30000

// 设置请求基地址(公共路径的部分!!!!)
http.config.baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1'

// 请求拦截器
http.interceptors.request.use((request) => {
  // 这个不能跨端的!!!
  // uni-app框架将小程序中的所有api都重新封装了一份丢到uni全局对象身上了  可以跨端
  // uni.setStorageSync()
  uni.showLoading({
    title: '加载中...',
    mask: true,
  })
  // wx.hideLoading()
  return request
})

// 响应拦截器
http.interceptors.response.use(
  (response) => {
    // 显示加载框
    uni.hideLoading()

    // 只取返回的数据字段
    return response.data
  },
  (err) => {
    uni.hideLoading()
    return Promise.reject(err)
  }
)

// 导出
export default http
